package com.atguigu.gmall.all.controller;

import com.atguigu.gmall.cart.client.CartInfoFeignClient;
import com.atguigu.gmall.model.cart.CartInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import javax.servlet.http.HttpServletRequest;

@Controller
public class CartInfoController {
    @Autowired
    private CartInfoFeignClient cartInfoFeignClient;

    //加入购物车 核心 +
    @GetMapping("/addCart.html")
    public String addCart(Long skuId, Integer skuNum, RedirectAttributes redirectAttributes){

        //添加购物车
        cartInfoFeignClient.addCart(skuId, skuNum);
        //在重定向使用下面方式传递参数 mvc提供的方法
        redirectAttributes.addAttribute("pid",skuId);
        redirectAttributes.addAttribute("pc",skuNum);

        //加入购物车重定向到显示加入购物车页面
        return "redirect:http://cart.gmall.com/toCart.html";
    }
    //显示加入购物车成功页面 核心查
    @GetMapping("/toCart.html")
    public String addCart(Long pid,Integer pc,Model model){
        //查询购物车
        CartInfo cartInfo = cartInfoFeignClient.toCart(pid);
        //修改加入购物车数量
        cartInfo.setSkuNum(pc);

        model.addAttribute("cartInfo",cartInfo);
        //跳转显示成功页面
        return "cart/addCart";
    }
    //去购物车结算
    @GetMapping("/cart.html")
    public String cart(){
        return "cart/index";
    }
}
